Developer Documentation

QuickTime 4 API Documentation

QuickTime 4 Reference

| Previous | Chapter Contents | Chapter Top | Next |

Working With Track References

Track references allow you to relate tracks to one another. For example, this can help you identify the text track that contains the subtitles for a movie's audio track and relate that text track to a particular audio track. See "Track References" for more information about track references.

The AddTrackReference function allows you to relate one track to another. The DeleteTrackReference function removes that relationship. The SetTrackReference and GetTrackReference functions allow you to modify an existing track reference so that it identifies a different track. The GetNextTrackReferenceType and GetTrackReferenceCount functions allow you to scan all of a track's track references.

AddTrackReference

The AddTrackReference function allows you to add a new track reference to a track.

pascal OSErr AddTrackReference (
                     Track theTrack,
                     Track refTrack,
                     OSType refType,
                     long *addedIndex);
theTrack
Identifies the track for this operation. Your application obtains this track identifier from such toolbox functions as NewMovieTrack and GetMovieTrack .

refTrack
Specifies the track to be identified in the track reference.

refType
Specifies the type of reference.

addedIndex
Contains a pointer to a long integer. The toolbox returns the index value assigned to the new track reference. If you do not want this information, set this parameter to nil .

RESULT CODES

invalidTrack
-2009 This track is corrupted or invalid

Memory Manager errors

DeleteTrackReference

The DeleteTrackReference function allows you to remove a track reference from a track.

pascal OSErr DeleteTrackReference (
                     Track theTrack,
                     OSType refType,
                     long index);
theTrack
Identifies the track for this operation. Your application obtains this track identifier from such toolbox functions as NewMovieTrack and GetMovieTrack .

refType
Specifies the type of reference.

index
Specifies the index value of the reference to be deleted. You obtain this index value when you create the track reference.

Description

This function deletes a track reference from a track. If there are additional track references with higher index values, the toolbox automatically renumbers those references, decrementing their index values by 1.

RESULT CODES

paramErr
-50 Invalid parameter specified
invalidTrack
-2009 This track is corrupted or invalid

Memory Manager errors

SetTrackReference

The SetTrackReference function allows you to modify an existing track reference. You may change the track reference so that it identifies a different track in the movie.

extern pascal OSErr SetTrackReference (
                     Track theTrack,
                     Track refTrack,
                     OSType refType,
                     long index);
theTrack
Identifies the track for this operation. Your application obtains this track identifier from such toolbox functions as NewMovieTrack and GetMovieTrack .

refTrack
Specifies the track to be identified in the track reference. The toolbox uses this information to update the existing track reference.

refType
Specifies the type of reference.

index
Specifies the index value of the reference to be changed. You obtain this index value when you create the track reference.

RESULT CODES

paramErr -50 Invalid parameter specified
invalidTrack -2009 This track is corrupted or invalid

GetTrackReference

The GetTrackReference function allows you to retrieve the track identifier contained in an existing track reference.

pascal Track GetTrackReference (
                     Track theTrack,
                     OSType refType,
                     long index);
theTrack
Identifies the track for this operation. Your application obtains this track identifier from such toolbox functions as NewMovieTrack and GetMovieTrack .

refType
Specifies the type of reference.

index
Specifies the index value of the reference found. You obtain this index value when you create the track reference.

function result
Returns the track identifier contained in the specified track reference.

Description

This function returns the track identifier that is contained in the specified track reference. If the toolbox cannot locate the track reference corresponding to your specifications, it returns a value of nil .

GetNextTrackReferenceType

The GetNextTrackReferenceType function allows you to determine all of the track reference types that are defined for a given track.

pascal OSType GetNextTrackReferenceType (
                     Track theTrack,
                     OSType refType);
theTrack
Identifies the track for this operation. Your application obtains this track identifier from such toolbox functions as NewMovieTrack and GetMovieTrack .

refType
Specifies the type of reference. Set this parameter to 0 to retrieve the first track reference type. On subsequent requests, use the previous value returned by this function.

function result
Returns an operating-system data type.

Description

This function returns an OSType containing the next track reference type value defined for the track. There is no implied ordering of the returned values. When you reach the end of the track's reference types, this function sets the returned value to 0. You can use this value to stop your scanning loop.

GetTrackReferenceCount

The GetTrackReferenceCount function allows you to determine how many track references of a given type exist for a track.

pascal long GetTrackReferenceCount (
                     Track theTrack,
                     OSType refType);
theTrack
Identifies the track for this operation. Your application obtains this track identifier from such toolbox functions as NewMovieTrack and GetMovieTrack .

refType
Specifies the type of reference. The toolbox determines the number of track references of this type.

function result
Returns a long integer or 0.

Description

This function returns long integer that contains the number of track references of the specified type in the track. If there are no references of the type you have specified, the function returns a value of 0.


© 1999 Apple Computer, Inc.

| Previous | Chapter Contents | Chapter Top | Next |